export default {
  async fetch(request, env) {
    const url = new URL(request.url);

    // 获取原始响应
    const res = await env.ASSETS.fetch(request);

    // 克隆 headers 以便修改
    const newHeaders = new Headers(res.headers);

    // 静态资源长缓存（带哈希文件名的 JS/CSS/图片等）
    if (url.pathname.match(/\.(?:png|jpe?g|gif|svg|ico|webp|avif|css|js)$/i)) {
      newHeaders.set("Cache-Control", "public, max-age=31536000, immutable");
      return new Response(res.body, { status: res.status, headers: newHeaders });
    }

    // HTML 主文档短缓存（确保更新及时）
    if (url.pathname.endsWith(".html") || url.pathname === "/") {
      newHeaders.set("Cache-Control", "no-cache");
      return new Response(res.body, { status: res.status, headers: newHeaders });
    }

    // 其他文件保持默认缓存策略
    return res;
  }
};
